The present invention relates to a system for encoding and decoding digital video data, and more particularly to an encoding and decoding system which adopts a variable picture partitioning technique in order to suppress blocking artifacts which are one of the phenomena degrading the quality of reproduced pictures, and which are generated by partitioning a picture into a plurality of blocks and encoding the blocks. The present disclosure is based on the disclosure of Korean Patent Application No. 92-10617, filed Jun. 18, 1992.
Recently, a method for encoding a video and audio signal into a digital signal so as to be transmitted or stored in a storage unit, and decoding the encoded digital signal so as to be reproduced has been used in systems for transmitting and receiving video and audio signals. Various techniques are known, including conversion coding method, a differential pulse code modulation method, (OPCM) a vector quantization method and a variable length coding method, etc., for encoding such a transmitted or stored signal. By removing redundancy data which is included in the transmitted or stored signal, these coding methods can be used for compressing the total amount of data.
To better explain the present invention, the above encoding and decoding procedures with respect to the video signal will be described below. Generally, to encode the video signal, each picture is partitioned into blocks, each of which has a predetermined dimension, and a predetermined transformation is performed with respect to the respective block data or error data between predetermined blocks, so that video data is converted into a transformation coefficient of frequency domain. Such data transform methods include discrete cosine transform (DCT), Walsh-Hadamard transform (WHT), discrete Fourier transform (DFT) and discrete sine transform (DST), etc. The transmission data is compressed by changing transformation coefficients, converted by one of the above transformation methods, into representative values, each of which has a certain level, and encoding the representative values based on their statistical characteristics.
FIG. 1 represents a schematic block diagram of a conventional encoding apparatus of a video signal. The encoding apparatus of FIG. 1 comprises means for partitioning video data into blocks, each of which has a predetermined dimension, means for DCT-transforming each block of data and then quantizing the transformed coefficients, means for variable-length encoding the quantized data to compress the variable-length encoded data. The apparatus also comprises means for inverse-quantizing and inverse-transforming the quantized data into restored data which is close to the original blocks of data, means for reconstructing a frame from the restored data, and means for performing motion detection and motion compensation from the reconstructed frame and the current block to be encoded. In FIG. 1, block partitioner 10 partitions the input data into blocks of N.times.N (which is generally represented as N.sub.1 .times.N.sub.2, and which, for the convenience of explanation, is assumed as here to be N.sub.1 =N.sub.2 =N, where "N" represents a pixel unit) magnitude. Then, the block of data output from block partitioner 10 is added to predetermined feedback data in a first adder A1, thereby calculating error data between the two data blocks. The error data is DCT-transformed into transformation coefficients of a frequency domain in orthogonal transformer 11. Here, the energy of the transformation coefficients is chiefly collected toward the low frequency domain. Then, quantizer 12 changes the conversion coefficients into representative values each of which has a predetermined level, taking the energy distribution of the conversion coefficients into consideration. Then, variable-length encoder 13 further compresses transmission data V.sub.CD by variable-length-encoding the representative values based on the statistical characteristics of the representative values.
Also, there is, in general, much similarity between adjacent pictures. Accordingly, in case of slightly moving pictures, the motion of the pictures is detected to calculate a motion vector MV. If the block data is compensated using the motion vector, a difference signal between the adjacent pictures becomes very small. Accordingly, the transmission data can be further compressed. To perform such motion compensation, inverse-quantizer 14 and inverse orthogonal-transformer 15 inversely quantize the quantization coefficients output from quantizer 12, and then inversely convert the inverse-quantized coeffcients into video data of spatial domain. The inverse-transformed video data is reproduction error data corresponding to error data output from first adder A1. The error data output from inverse orthogonal-transformer 15 is added to predetermined feedback data in a second adder A2 so as to be stored in a frame memory 16, thereby reconstructing a picture. Then, a motion detector 17 detects the block of data which is closest to the N.times.N block of data output from block partitioner 10 among the frame data stored in frame memory 16, and then calculates a motion vector MV which represents movements between two blocks. The motion vector MV is transmitted to a receiver for use in a decoding system shown in FIG. 2. Also, motion vector MV is transmitted to motion compensator 18 which is connected to frame memory 16 and motion detector 17. According to the motion vector supplied from motion detector 17, motion compensator 18 reads out an N.times.N block corresponding to the motion vector from the frame data stored in frame memory 16 and supplies the read N.times.N block to first adder A1. Then, as described above, the first adder calculates the error data between the N.times.N block of data supplied from block of partitioner 10 and the N.times.N block of data having the similar pattern supplied from motion compensator 18. The error data is encoded again as described above so as to be supplied to the receiver. In FIG. 1, switches RSW1 and RSW2 are refresh switches for refreshing the data in units of a frame or block, to prevent accumulation of the error data. That is, in the FIG. 1 apparatus, when two refresh switches RSW1 and RSW2 are turned on, the DPCM process is performed, while, when they are turned off, the PCM data is generated in adders A1 and A2.
Such encoded video data V.sub.CD is supplied to the receiver, and is input to the decoding apparatus shown in FIG. 2. Then, the encoded video data V.sub.CD is decoded in variable-length decoder 21 through inverse steps of the variable-length encoding processes. The data output from variable-length decoder 21 is inverse-quantized into transformation coefficients of a frequency domain in inverse-quantizer 22. An inverse orthogonal-transformer 23 converts the transformation coefficients of the frequency domain supplied from inverse-quantizer 22 into video data of a spatial domain. Here, the inverse-transformed video data is reproduction error data corresponding to the error data calculated in first adder A1 of the encoding apparatus. Also, the motion vector MV, which is calculated in motion detector 17 for transmission, is supplied to motion compensator 24 of the decoding apparatus. Motion compensator 24 reads out on N.times.N block of data corresponding to motion vector MV from the frame data stored in frame memory 25, and supplies the read N.times.N block of data to adder A. Then, adder A adds the inverse-converted error data to the N.times.N block data supplied from motion compensator 24, and supplies the added data to a display unit.
Generally, the encoding and decoding apparatus partitions the picture data into blocks, each of which has a predetermined dimension, to compress the transmitted video data, and encodes and decodes the partitioned blocks.
However, in such a conventional encoding and decoding system, since video data forming a picture is processed in block units having a predetermined dimension, the boundaries between mutual blocks are easily conspicuous, and a phenomenon takes place in which a certain portion of the picture appears to be a lattice. This phenomenon is called "blocking artifact." There have been recently proposed several methods of reducing such blocking artifacts. For example, a first method requires that the partitioned blocks in the picture are overlapped with each other, a second method utilizes a lapped orthogonal transform, and yet another method utilizes a low-pass filter with respect to the boundaries of the blocks in the decoding system. However, since the first and second methods change the general structural constitution of the encoding and decoding system as shown in FIGS. 1 and 2, they have problems in that complexity of the hardware increases. The third method has a problem in that it lowers resolution of the boundary portion of the block.